Systems and methods for facilitating social discovery

ABSTRACT

An example implementation includes systems and methods for facilitating social discovery to obtain, from at least a second device, device information associated with the second device; transmit the device information associated with the second device to the social discovery platform; receive, from the social discovery platform, user information associated with a second user of the second device in response to transmitting the device information associated with the second device; and providing, to the first user, the user information associated with the second user.

RELATED APPLICATION INFORMATION

This application is a continuation of U.S. patent application Ser. No.14/830,632, filed Aug. 19, 2015, which claims the benefit under 35U.S.C. § 119(e) to U.S. Provisional Patent Application Nos. 62/039,378,62/039,383, 62/039,388, 62/039,392, and 62/039,395, filed Aug. 19, 2014,the disclosures of which are incorporated herein by reference in theirentirety.

BACKGROUND 1. Technical Field

The embodiments described herein are related to social discovery, andmore particularly to a service allowing users to discover, engage, andinteract with any entity within their proximity, including other usersand businesses.

2. Related Art

Conventional location-based social discovery services allow users tolocate certain nearby places and acquaintances. In the case of ‘singles’applications, users are able to view nearby singles with matchingprofiles. However, in order to establish communication between twoindividuals, conventional social discovery services all require eitheran existing relationship (e.g., a mutual friendship) or a match (e.g.,two singles with complementary interests). These types of restrictionsdrastically limit the potential for users of conventional socialdiscovery service to encounter new people and places.

Conventional social discovery services also rely on technologies such asglobal positioning system (GPS) and WiFi-based positioning to determinethe location of various users relative to surrounding places and peopleof interest. However, GPS generally does not operate indoors whileWiFi-based positioning is not precise enough. Moreover, both GPS andWiFi-based positioning require significant backend resources. Centralservers must expend tremendous amounts the computational power in orderto track and calculate the relative position of every individual usingthe service. Consequently, conventional location-based social discoveryservices struggle to efficiently and economically accommodate largenumbers of active users.

SUMMARY

Systems and methods for facilitating social discovery are describedherein.

According to various embodiments, there is provided a system forfacilitating social discovery. The system may include a social discoveryplatform and a first device associated with a first user.

In various embodiments, the first device may comprise a hardwareprocessor and at least one executable software module. The at least oneexecutable software module, when executed by the hardware processor, isconfigured to: obtain, from at least a second device, device informationassociated with the second device; transmit the device informationassociated with the second device to the social discovery platform;receive, from the social discovery platform, user information associatedwith a second user of the second device in response to transmitting thedevice information associated with the second device; and display, tothe first user, the user information associated with the second user.

According to various embodiments, there is provided a method forfacilitating social discovery. The method may include: obtaining, by afirst device associated with a first user, device information associatedwith at least a second device from the second device; transmitting thedevice information associated with the second device to a socialdiscovery platform; receiving, from the social discovery platform, userinformation associated with a second user of the second device inresponse to the device information associated with the second device;and displaying, to the first user, the user information associated withthe second user.

These and other features, aspects, and embodiments are described belowin the section entitled “Detailed Description.”

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and embodiments are described in conjunction with theattached drawings, in which:

FIG. 1A is a network diagram illustrating a network environmentaccording to various embodiments;

FIG. 1B is a network diagram illustrating a network environmentaccording to various embodiments;

FIG. 2A is a flowchart illustrating a process for facilitating socialdiscovery according to various embodiments;

FIG. 2B is a flowchart illustrating a process for facilitating socialdiscovery according to various embodiments;

FIG. 3 is a flowchart illustrating a process for facilitating socialdiscovery according to various embodiments; and

FIG. 4 is a block diagram illustrating a device according to variousembodiments.

DETAILED DESCRIPTION

The embodiments described herein include a social discovery service thatpermits individual users to establish communication with any surroundingentity including, for example, but not limited to, other users andbusinesses. In some embodiments, to use and/or subscribe to the service,a user can install a mobile application onto his or her mobile device(e.g., iPhone, Android phone). One user, User A, may be interested inestablishing communication with another user, User B. According to oneexemplary embodiment, the social discovery service allows User A toestablish communication with User B without a previous relationship or amatch between User A and User B.

In various embodiments, using the mobile application, User A may be ableto see photographs of every other user in User A's vicinity, includingUser B. Likewise, User B can see User A (as well as other nearby users)from User B's mobile application. In one exemplary embodiment, thesocial discovery service and the mobile application ensure individualuser privacy by only revealing those types of information that arevisually obvious and/or readily observable by nearby users. For example,in some embodiments, the social discovery service and the mobileapplications will provide or share a photo of the individual users butnot any other types of information. In other embodiments, a user mayhave the option to disclose other types of information including, forexample, but not limited to, name, gender, group affiliations,interests, and occupation.

Advantageously, the social discovery service described hereinfacilitates introductions and communication with nearby individuals whena direct, in-person approach is difficult, awkward, or impossible. Forexample, User A may wish to start a conversation with User B. In someembodiments, from User A's mobile application, User A would select UserB (e.g., User B's photo) and a ‘send message’ option. User A can thencompose and send a message to User B. Meanwhile, to notify User B ofUser A's message, User B can, in some embodiments, see User A's photocome to the foreground of User B's mobile application. User B may chooseto accept (and respond to) User A's message or User B may ignore UserA's message altogether. In addition, User B can have the option ofblocking User A from sending any additional messages.

In some embodiments, instead of drafting a message, a user can send hisor her contact information instead (e.g., name, email address, and/orphone number). In some embodiments, the social discovery service andmobile application allow users to preconfigure their contactinformation. Once preconfigured, a user will no longer have to manuallyinput his or her contact information. In the example above, User A canselect User B's photo from User A's mobile application and then choosethe “Send My Card” option.

In some embodiments, users can also send preconfigured messages (e.g.,“Next drink is on me.”) or icons (e.g., heart, wink). For example, UserA may be able to choose from a selection of preconfigured messages.Alternately or in addition, User A may create an array of custom and/orpersonalized messages. According to one exemplary embodiment,preconfigured messages may be available in a variety of differentlanguages to accommodate users who speak different languages. Forexample, User A may speak English while User B speaks Spanish. As such,in some embodiments, the selection of preconfigured messages may bepresented to User A in English but User A will have an option to havethe selected message delivered to User B in a different language (e.g.,Spanish). Alternately, in some embodiments, a user may set a languagepreference for incoming messages. For instance, User B may set Spanishas his preferred language. Thus, while User A may send a preconfiguredmessage to User B in English, the preconfigured message will bedelivered to User B in Spanish.

In a crowded venue, a large number of users can be displayedsimultaneously in each user's mobile applications. In some embodiments,the social discovery service and mobile application allows individualusers to refine displayed information. For example, a user canselectively hide certain individuals, such as through gestures (e.g., afinger stroke) over particular photos, so that these individuals willnot be displayed in the mobile application again. In some embodiments,the information displayed to a user may be refined by applying filtersbased on various user-specified search criteria. For example, User A andUser B can each configure their individual mobile applications todisplay only the photos of individuals having one or more specifiedattributes including, for example, but not limited to, gender, groupaffiliation, interests, and occupation.

In some embodiments, rather than discovering a specific person, a usercan discover a group of individuals who all meet or match criteriaspecified by the user. That is, in some embodiments, the socialdiscovery service and mobile application allow the user to perform abroadcast search. For example, in some embodiments, User A may enter asearch criterion that filters all nearby users based on one or morespecified attributes including, for example, but not limited to, gender,group affiliation, interest, and occupation. In some embodiments, everyindividual who satisfies the search criterion is notified that they havematched the user's search criteria. In other embodiments, individualswho satisfy the search criteria can elect whether or not they would liketo be notified that they have matched another user's search criteria. Insome embodiments, in the event that someone is notified of his or hermatch to a user's search criterion, that person can further choose toautomatically reveal his or her identity to the user (e.g., have his orher picture displayed to the user) or remain anonymous until he or shedecides otherwise. Additionally, in some embodiments, the user can alsoselect which of the individuals who satisfy the search criterion arenotified of the match. For example, a selection interface may bedisplayed to a user presenting each individual who satisfy the searchcriterion. In some embodiments, the selection interface can include orprovide photographs of each individual. Alternately or in addition, theselection interface can include or provide some or all of thedescriptive material available on each individual (e.g., name, age,occupation, interests, etc.). In various embodiments, the selectioninterface can be a list of the matching individuals that the user canscroll through or a deck that the user can swipe through.

In various embodiments, after locating a group of individuals who matchthe search criteria, the user can choose to establish communication withsome or all of the individuals in the group. For example, in someembodiments, the user has the option to automatically establishcommunications with every individual who satisfies the search criteria.For instance, the user can configure the application to send apreconfigured greeting message to every individual in the group.Alternately, in some embodiments, the user can also select specificindividuals to establish communications with such as by using aselection interface (e.g., list, deck) that displays, for example, thephotographs and/or descriptive material of the individuals who match thesearch criteria. In those embodiments, only the selected individualswill receive a message (e.g., personalized or preconfigured) from theuser.

In some embodiments, nearby users are filtered based on informationprovided directly and/or voluntarily by each individual user including,for instance, information that each user provides at initial sign-up orsubscription to the social discovery service. For example, as part ofthe initial service sign-up or subscription process, users can specifytheir name, gender, occupation, city and state of residence, interests,and education.

In various embodiments, WiFi Direct Service Discovery allows devices(e.g., smartphones) advertising their services to broadcast name-valuepairs. In various embodiments, some or all of this information (e.g.,name, gender, occupation, city and state of residence, interests, andeducation) can be included as the name-value pairs broadcast using WiFiDirect Service Discovery. As such, nearby users can be filtered asdevices engage in initial discovery (i.e., prior to connection and anyexchange of messages).

In various embodiments, users can be filtered, alternately or inaddition, based on one or more types of deduced, inferred, or extractedinformation. In some embodiments, users can be filtered based oninformation that can be statistically, heuristically, or otherwisecomputationally inferred from existing or available information on eachuser, including sign-up or subscription information. In particular,where users are generally inclined to volunteer only minimal and/orambiguous information, supplementing with deduced, inferred, orextracted information allows for a greater variety and/or specificity offilters to be applied. For example, suppose a user neglects to specify agender, then a statistical or heuristic deduction can be made based onthat user's name. As another example, filters can also be based onfacial and/or physical features that are determined through analyzinguser photos (e.g., eye color, hair color).

In some embodiments, a user is able to keep his or her interest tointeract with another user confidential unless the other user alsoexpresses a reciprocal interest. For example, User A wishes to establishcommunication with User B. User A, for instance, selects User B's photofrom User A's mobile application. In some embodiments, User A canstipulate that this wish to establish communication is not revealed toUser B unless User B also demonstrates the same interest in User A, suchas by selecting User A's photo from User B's mobile application.

In some embodiments, a user can impose or require a fee in order forother users to communicate (e.g., send messages) to that user. Thesocial discovery service and mobile application would then restrictother users from sending messages unless those users pay the fee. Forexample, User B can stipulate a fee for receiving messages, in whichcase User A must pay that fee in order to contact User B. In the eventthat User A agrees to pay User B's fee, then User B will receive bothUser A's message and the paid fee. In some embodiments, the socialdiscovery service and User B will each receive a portion of the fee paidby User A.

In various embodiments, the fee can be an amount (e.g., $1 per message)that is stipulated by User B. Alternately, in some embodiments, the feecan be an amount set by the social discovery service. In otherembodiments, the fee is dynamic and can fluctuate based on one or moreconditions. For instance, in some embodiments, the fee can changedepending on a number of users (i.e., including or in addition to UserA) who attempt to send messages to User B at the same time or within acertain period of time (e.g., within the last hour). Alternately or inaddition, the fee may depend on a total number of messages, paid orotherwise, that User A is currently attempting to transmit or hastransmitted (e.g., within a certain period of time) to all other usersor certain users (e.g., User B). In some embodiments, the fee can alsodepend on a time (e.g., Happy Hour) when User A attempts to transmit themessage to User B. Alternately or in addition, the fee can change basedon the location (e.g., bar, restaurant, metro station) of User A andUser B.

In some embodiments, by imposing and taking the fee, User B cannotdecline to receive User A's message. For example, instead of having anoption to ignore, bypass, or otherwise not be shown User A's message,User A's message will be automatically displayed on User B's device. Insome embodiments, before User B can receive the fee paid by User A, UserB is required to provide a confirmation that User B has read themessage. For example, in some embodiments, User A's message can bedisplayed on User B's device with certain (e.g., a randomized selection)words and/or letters in the message highlighted or shown in a differentcolor. In order to receive the fee from User A, User B must provide aconfirmation by inputting back the words and/or letters that arehighlighted or shown in a different color.

In some embodiments, users can elect to receive commercial messages fromnearby businesses. For example, businesses can broadcast advertisementsor coupons that are received by nearby users. In some embodiments,individual users can choose to restrict the types of commercial messagesreceived. For instance, a user wants to only receive messages thatoriginate from certain kinds of businesses (e.g., restaurants). In someembodiments, a user can choose to receive only commercial messages ifthe broadcasting business has agreed to pay a fee to the recipient ofthe commercial messages. For example, a business pays a certain fee foreach advertisement the user receives. In some embodiments, the socialdiscovery service and the user share the fees paid by the business.

FIG. 1A is a network diagram illustrating a network environment 100according to various embodiments. Referring to FIG. 1A, in variousembodiments, a social discovery the social discovery platform 110 maycommunicate with multiple devices including, for example, but notlimited to, a first device 120, a second device 130, and a third device140 via a network 160. In various embodiments, the social discovery thesocial discovery platform 110 may be communicatively coupled with adatabase 115. The network 160 may be a wireless and wired networkincluding, for example, but not limited to, a wide area networks (WAN),a local area network (LAN), and a personal area network (PAN).

According to one exemplary embodiment, each of the first device 120, thesecond device 130, and the third device 140 may be a mobile device,including, for example, but not limited to, a smartphone (e.g., iPhones)and a tablet personal computer (PC). In some embodiments, the socialdiscovery platform 110 receives information from one or more of thefirst device 120, the second device 130, and the third device 140including, for example, but not limited to, user information andcorresponding device media access control (MAC) addresses. In variousembodiments, the social discovery platform 110 may receive theinformation via the network 160 and may be configured to store theinformation in the database 115. In various embodiments, the socialdiscovery platform 110 may also retrieve information (e.g., userinformation that corresponds to a certain device MAC address) from thedatabase 115 and transmits the information, via the network 160, to oneor more of the first device 120, the second device 130, and the thirddevice 140. According to one exemplary embodiment, each of the firstdevice 120, the second device 130, and the third device 140 may beconfigured to host an individual copy of an application 150.

In some embodiments, the first device 120 can be configured to discovernearby devices such as the second device 130 and the third device 140.In some embodiments, the first device 120 may be automatically set todiscovery mode upon launching the application 150 on the first device120. Alternately, in some embodiments, after launching the application150 on the first device 120, a user can then choose to set the firstdevice 120 in discovery mode by, for example, pressing or selecting a“Discover Nearby Devices” button or option. In addition, in thoseembodiments, the user can choose to instead “hide” the first device 120from the nearby device such as the second device 130 and the thirddevice 140.

In various embodiments, discovery amongst devices such as the firstdevice 120, the second device 130, and the third device 140 isimplemented using the WiFi Direct Service Discovery protocol. In variousembodiments, when one device (e.g., the first device 120) discoversanother device (e.g., the second device 130), information that the usersof each device provided during the initial sign-up or registration withthe social discovery service may be exchanged. In various embodiments,when a device is set in a discoverable mode, it is broadcasting toadjacent devices information that can include, for example, the device'sMAC address. Meanwhile, in various embodiments, a device that is set inthe discovery mode is listening for the same types of broadcasts fromadjacent devices. For example, in various embodiments, the first device120, the second device 130, and the third device 140 can exchangerespective MAC addresses using WiFi Direct Service Discovery. That is,in some embodiments, during the discovery phase, the first device 120can obtain the MAC addresses associated the second devices 130 and thethird device 140. Meanwhile, the second device 130 and the third device140 can also obtain the MAC address associated with the first device 120during the discovery phase. As will be described in more detail below,in those embodiments, the first device 120 may transmit the MACaddresses received from the second device 130 and the third device 140to the social discovery platform 110, which is configured to respondwith at least some information (e.g., photos) on the respective users ofthe second devices 130 and the third device 140.

In various embodiments, after an initial discovery phase, two devicescan further establish a connection with each other. For example, in someembodiments, if the user of the first device 120 wants to communicatewith one or more users of the second device 130 and the third device140, the devices can then establish a connection with each other inorder to exchange messages. In various embodiments, after the discoveryphase, the first device 120 can establish a WiFi Direct connection withone or more of the second device 130 and the third device 140.

Although the network environment 100 includes three devices (e.g., thefirst device 120, the second device 130, and the third device 140), aperson having ordinary skill in the art can appreciate that the networkenvironment 100 may include a different number of devices withoutdeparting from the scope of the present inventive concept.

FIG. 1B is a network diagram illustrating a network environment 170according to various embodiments. As shown in FIG. 1B, the networkenvironment 170 may include multiple devices including, for example, butnot limited to, a first device 111, a second device 112, and a thirddevice 113. According to one exemplary embodiment, each of the firstdevice 111, the second device 112, and the third device 113 may beconfigured to host an individual copy of the application 150.

In various embodiments, one or more of the first device 111, the seconddevice 112, and the third device 113 may be set in discovery mode inorder to discover the other devices that are nearby. Moreover, one ormore of the first device 111, the second device 112, and the thirddevice 113 may be set in discoverable mode, which allows the device tobe discovered by other devices nearby. For example, as shown in FIG. 1B,the first device 111 is in a discovery mode while the second device 112and the third device 113 are both in discoverable mode. As such, thefirst device 111 is able to discover, in its proximity, both the seconddevice 112 and the third device 113.

In one exemplary embodiment, the first device 111, the second device112, and the third device 113 are able to discover one another withoutengaging a central server (e.g., the social discovery platform 110).Instead of transmitting the MAC addresses of nearby devices to a centralserver and receiving corresponding user information (e.g., user photos)from the central server in return, in some embodiments, the first device111, the second device 112, and the third device 113 may exchange userinformation (e.g., name, group affiliation, interests, occupation, andphotographs) directly with one another. In various embodiments, absent acentral server, the first device 111, the second device 112, and thethird device 113 may exchange at least some forms of user informationusing WiFi Direct Service Discovery. In various embodiments, WiFi DirectService Discovery allows devices advertising their services (e.g.,devices in a discoverable mode) to broadcast name and value pairs asstrings. As such, the first device 111, the second device 112, and thethird device 113 may directly exchange string-value user informationincluding, for example, but not limited to, name, location, groupaffiliation, interests, and occupation.

In various embodiments, the first device 111, the second device 112, andthe third device 113 may also directly exchange user photographs withoutengaging a central server. For example, in some embodiments, a user mayupload a photo to the application 150 during the initial signup orregistration to the social discovery service. However, photographs arenot string values that can be exchanged as part of the name and valuepairs during the discovery phase. Thus, in order to exchange photos, twodevices may, in various embodiments, establish a direct connection. Forexample, the first device 111 may discover the second device 112 andexchange user information (e.g., name, location, group affiliation,interests, and occupation) with the second device 112 during thediscovery phase. The first device 111 may determine whether the firstdevice 111 already has a photograph of the user associated with thesecond device 112. In the event that the first device 111 determinesthat the first device 111 does not already have a photograph of the userassociated with the second device 112, the first device 111 mayestablish a first connection 142 with the second device 112 in order toexchange user photographs with the second device 112. Likewise, thefirst device 111 may also establish a second connection 144 with thethird device 113 in order to exchange user photographs with the thirddevice 113. In various embodiments, once the first device 111 receivesthe user photographs from the second device 112 and the third device113, the first device 111 may terminate the connection. Alternately, insome embodiments, the second device 112 and the third device 113 mayterminate the connection with the first device 111 when the seconddevice 112 and the third device 113 have each transmitted a respectiveuser photograph to the first device 111. According to one exemplaryembodiment, the first connection 142 and the second connection 144 maybe WiFi Direct links established between proximate devices. As such, invarious embodiments, the first device 111, the second device 112, andthe third device 113 may form peer-to-peer WiFi connections withoutconnecting to a network or a hotspot.

In some embodiments, the first device 111 interacts and exchanges userinformation directly with one or both of the second device 112 and thethird device 113 without a central server (e.g., the social discoveryplatform 110) acting as an intermediary or broker. Thus, in someembodiments, filtering nearby users may be performed locally onindividual user devices (e.g., on the first device 111) rather than at acentral server (e.g., the social discovery platform 110). For example,the first device 111 can apply certain filters (e.g., the user of thefirst device 111 may stipulate criteria based on gender, groupaffiliation, interest, and/or occupation) such that although the firstdevice 111 may have discovered both the second device 112 and the thirddevice 113, the user of the device 111 is shown only the user of one ofthe second device 112 and the third device 113.

In various embodiments, once two devices have discovered one another,the devices may then establish a connection to exchange messages. Forexample, the first device 111 can communicate with one or both of thesecond device 112 and the third device 113 through the first connection142 and the second connection 144. In various embodiments, the firstconnection 142 and the second connection 144 may be WiFi Direct linksestablished between proximate devices. As such, in various embodiments,the first device 111, the second device 112, and the third device 113may form peer-to-peer WiFi connections without connecting to a networkor a hotspot.

Although the network environment 170 is shown to include three devices(i.e., the first device 111, the second device 112, and the third device113), a person having ordinary skill in the art can appreciate that thenetwork environment 170 may include a different number of deviceswithout departing from the scope of the present inventive concept.Furthermore, a person having ordinary skill in the art can appreciatethat WiFi Direct links can be established between any number ofproximate devices and thereby support the direct exchange of informationbetween any number of devices.

FIG. 2A is a flowchart illustrating a process 200 for facilitatingsocial discovery according to various embodiments. Referring to FIGS. 1Aand 2A, in various embodiments, the process 200 may be performed by thefirst device 120 via the application 150. In various embodiments, theprocess 200 may be performed while engaging a central server such as thesocial discovery platform 110.

In various embodiments, the first device 120 may receive userinformation (202). For example, in some embodiments, a photograph anddescriptive information (e.g., name, gender, interests, groupaffiliation, and occupation) for the user of Device 120 may be receivedthrough user input.

In various embodiments, the first device 120 may transmit a userinformation and the MAC address of the first device 120 to the socialdiscovery platform 110 (204). In various embodiments, the informationtransmitted to the social discovery platform 110 may include aphotograph of the user of the first device 120. Moreover, in variousembodiments, additional descriptive information regarding the user ofthe first device 120 may also be transmitted to the social discoveryplatform 110 including, for example, but not limited to, name, age,occupation, group affiliation, and interests.

In various embodiments, the first device 120 may discover one or morenearby devices (206). In various embodiments, the first device 120 maydiscover nearby devices that are set in the discoverable mode but notnearby devices that are not set in the discoverable mode. For example,using WiFi Direct Service Discovery, the first device 120 may discovernearby devices including, for example, but not limited to, the seconddevice 130 and the third device 140.

In various embodiments, the first device 120 may receive deviceinformation from at least the second device 130 nearby (208). Forexample, according to one exemplary embodiment, the first device 120 mayreceive the MAC address for one or more of the second device 130 and thethird device 140.

In various embodiments, the first device 120 may transmit the deviceinformation for the second device 130 to the social discovery platform110 (210). For example, in some embodiments, the first device 120 maytransmit the MAC addresses of one or more of the second device 130 andthe third device 140 to the social discovery platform 110.

In various embodiments, the first device 120 may receive userinformation for the second device 130 from the social discovery platform110 in response to the device information (212). In various embodiments,based on the MAC addresses transmitted by the first device 110, thesocial discovery platform 110 can identify the users of thecorresponding devices. In various embodiments, the social discoveryplatform 110 further locates information associated with those users andtransmits the user information back to the first device 120. Accordingto one exemplary embodiment, the user information from the socialdiscovery platform 110 includes photographs of the nearby users (i.e.,the users of the second device 130 and the third device 140). In someembodiments, the user information from the social discovery platform 110further includes descriptive information including, for example, but notlimited to, name, gender, group affiliation, interest, and occupation.

In various embodiments, the first device 120 displays the userinformation (214). In various embodiments, the photographs of the usersof the nearby devices may be displayed to the user of the first device120. Additionally, in some embodiments, at least a portion of thedescriptive information (e.g., name, gender, interests, groupaffiliation, occupation) associated with each of the nearby users mayalso be displayed to the user of the first device 120.

In various embodiments, the first device 120 may receive a request toestablish communication with at least a second user of the second device130 (216). For example, in various embodiments, based on the displayeduser photographs and/or descriptive information, the user of the firstdevice 120 can elect to establish communication with one or more of theusers of the second device 130 and the third device 140.

In various embodiments, in response to the request, the first device 120may establish a connection with the second device 130 (218). In variousembodiments, the first device 120 may establish a connection with one ormore of the second device 130 and the third device 140. In someembodiments, the connections between the first device 120 and one ormore of the second device 130 and the third device 140 may be WiFiDirect connections. In some embodiments, the user of the first device120 may transmit one or more messages to one or more of the seconddevice 130 and the third device 140 through the established connection.

Although the process 200 is described with respect to the first device120, it is to be understood that the process 200 may be performed bydifferent and additional devices (e.g., the second device 130 and thethird device 140) without departing from the scope of the presentinventive concept.

FIG. 2B is a flowchart illustrating a process 250 for facilitatingsocial discovery. Referring to FIGS. 1B and 2B, in various embodiments,the process 250 may be performed by the first device 111 via theapplication 150. In various embodiments, the process 250 may beperformed without engaging a central server such as the social discoveryplatform 110.

In various embodiments, the first device 111 may discover one or morenearby device (252). For example, using WiFi Direct Service Discovery,Device 111 can discover one or more nearby devices that are set indiscoverable mode including, for example, but not limited to, the seconddevice 112 and the third device 113.

In various embodiments, the first device 111 may receive descriptiveinformation from at least the second device 112 nearby (254). Forexample, in various embodiments, during the discovery phase, the firstdevice 111 may receive descriptive information for the users of one ormore of the second device 112 and the third device 113. In variousembodiments, descriptive information may be string values that may beexchanged as name value pairs using WiFi Direct Service Discovery.Descriptive information may include, for example, but not limited to,name, age, gender, location, occupation, interests, and groupaffiliation.

In various embodiments, the first device 111 may determine whether thefirst device 111 has a photograph of the user associated with the seconddevice 112 (255). If the first device 111 determines that the firstdevice 111 does not have a photograph of the user associated with thesecond device 112 (255-N), the first device 111 may establish aconnection with the second device 112 (256) and receive a userphotograph from the second device 112 (258). For example, the firstdevice 111 may determine that the first device 111 does not already havea photograph of the user associated with the second device 112 and/orthe third device 113. As such, the first device 111 may establish aconnection with the second device 112 and/or the third device 113 inorder to receive the photograph from the second device 112 and/or thethird device 113. In some embodiments, the first device 111 mayestablish the connection and request a user photograph from the seconddevice 112 and/or the third device 113. In various embodiments, theconnections between the first device 111 and the second device 112, andthe first device 111 and the third device 113 may be a WiFi Direct link.

In various embodiments, the first device 111 may determine whether arequest for a user photograph is received from the second device 112(259). For example, in some embodiments, in addition to transmitting auser photograph to the first device 111, the second device 112 may alsodetermine that the second device 112 does not have a user photograph ofthe user of the first device 111. As such, the second device 112 maytransmit a request for a user photograph to the first device 111.Alternately, in some embodiments, if the second device 112 determinesthat the second device 112 has a user photograph of the user of thefirst device 111, the second device 112 may not transmit a request for auser photograph. According to one exemplary embodiment, the seconddevice 112 may transmit a termination request to the first device 111.

In various embodiments, if the first device 111 determines that arequest for a user photograph is received from the second device 112(259-Y), the first device 111 may transmit a user photograph to thesecond device 112 (260) and terminate the connection with the seconddevice 112 (262). Alternately, if the first device 111 determines that arequest for a user photograph is not received from the second device 112(259-N), the first device 111 may terminate the connection with thesecond device 112 (262). In some embodiments, the first device 111 mayterminate the connection with the second device 112 in response to atermination request from the second device 112.

In various embodiments, the first device 111 may display one or more ofthe user photograph and descriptive information of a second user of thesecond device (264). In various embodiments, the photographs of theusers of the nearby devices may be displayed to the user of the firstdevice 111. Additionally or alternately, in some embodiments, at least aportion of the descriptive information (e.g., name, gender, interests,group affiliation, occupation) associated with each of the nearby usersmay also be displayed to the user of the first device 111.

In various embodiments, the first device 111 may receive a request toestablish communications with at least the second user of the seconddevice 112 (266). In various embodiments, based on the displayed userphotographs and/or descriptive information, the user of the first device120 may elect to establish communication with one or more of the usersof the second device 112 and the third device 113.

In various embodiments, the first device 111 may establish a connectionwith the second device 112 (268). In various embodiments, the firstdevice 111 may establish a connection with one or more of the seconddevice 112 and the third device 113. In some embodiments, theconnections between the first device 111 and one or more of the seconddevice 112 and the third device 113 may be WiFi Direct connections. Insome embodiments, the user of the first device 111 may transmit one ormore messages to one or more of the second device 112 and the thirddevice 113 through the established connection.

Alternately, in various embodiments, the first device 111 may determinethat the first device 111 already has a photograph of the usersassociated with the second device 112 (255-Y). For example, the firstdevice 111 may determine that the first device 111 has already obtaineda photograph of the user associated with each of the second device 112and the third device 113. As such, the first device 111 may notestablish a connection with a nearby device (e.g., the second device 112and the third device 113) if the first device 111 determines that italready has a corresponding user photograph for the nearby device.Instead, the first device 111 may display one or more of the userphotograph and descriptive information of the second user of the seconddevice (264). The first device 111 may receive a request to establishcommunication with at least the second user of the second device (266).The first device 111 may establish a connection with the second devicein response to the request (268).

Although the process 250 is described with respect to the first device111, it is to be understood that the process 250 may be performed bydifferent and additional devices (e.g., the second device 112 and thethird device 113) without departing from the scope of the presentinventive concept.

FIG. 3 is a flowchart illustrating a process 300 for facilitating socialdiscovery according to various embodiments. Referring to FIGS. 1A and 3,in various embodiments, the process 300 may be performed by the socialdiscovery platform 110.

In various embodiments, the social discovery platform 110 may receivethe MAC address of the first device 120 and user information associatedwith the user of the first device 120 (302). For example, in variousembodiments, the social discovery platform 110 may receive a photographof the user of the first device 120. Additionally, in variousembodiments, the social discovery platform 110 may also receivedescriptive information for the user of the first device 120 including,for example, but not limited to, name, gender, age, occupation,interests, and group affiliations.

In various embodiments, the social discovery platform 110 may store theMAC address and the user information associated with the first device120 (304). For example, the social discovery platform 110 may store theinformation in the database 115. According to one exemplary embodiment,storing the information includes maintaining a correlation between theMAC address of the first device 120, the corresponding user photo anddescriptive information.

In various embodiments, the social discovery platform 110 may receive aninquiry with respect to one or more MAC addresses (306). For example, invarious embodiments, the user of the first device 120 may receive theMAC addresses of nearby devices including, for example, but not limitedto, the second device 130 and the third device 140. In one exemplaryembodiment, the first device 120 may transmit the MAC addresses as partof inquiry to the social discovery platform 110 in an attempt toidentify and discover users of nearby devices.

In various embodiments, the social discovery platform 110 may retrieveuser information based at least in part on the MAC addresses (308). Forexample, in various embodiments, the social discovery platform 110 mayretrieve user photographs and/or descriptive information correspondingto the MAC addresses.

In various embodiments, the social discovery platform 110 may transmitat least a portion of the user information to the first device 120(310). For example, in some embodiments, the social discovery platform110 may transmit the photographs of the users of the second device 130and the third device 140 to the first device 120. Additionally, in someembodiments, the social discovery platform 110 may also transmitdescriptive information for the users of the second device 130 and thethird device 140 including, for example, but not limited to, age,gender, occupation, interest, and group affiliations.

Although the process 300 is described with respect to the first device120, a person having ordinary skill in the art can appreciate that theprocess 300 may be performed with respect to different and additionaldevices (e.g., the second device 130 and the third device 140) withoutdeparting from the scope of the present inventive concept.

FIG. 4 is a block diagram illustrating a device 400 according to variousembodiments. In various embodiments, the device 400 may be a wiredand/or wireless device. In various embodiments, the device 400 can be aserver or any conventional personal computer, or any otherprocessor-enabled device that is capable of wired or wireless datacommunication. For example, in various embodiments, the device 400 mayimplement the first device 120, the second device 130, the third device140, the first device 111, the second device 112, and the third device113. Other computer systems and/or architectures can be also used, aswill be clear to those skilled in the art.

The device 400 preferably includes one or more processors, such as theprocessor 410. Additional processors can be provided, such as anauxiliary processor to manage input/output, an auxiliary processor toperform floating point mathematical operations, a special-purposemicroprocessor having an architecture suitable for fast execution ofsignal processing algorithms (e.g., digital signal processor), a slaveprocessor subordinate to the main processing system (e.g., back-endprocessor), an additional microprocessor or controller for dual ormultiple processor systems, or a coprocessor. Such auxiliary processorscan be discrete processors or can be integrated with the processor 410.Examples of processors which can be used with the device 400 include,without limitation, the Pentium® processor, Core i7® processor, andXeon® processor, all of which are available from Intel Corporation ofSanta Clara, Calif.

The processor 410 is preferably connected to a communication bus 405.The communication bus 405 can include a data channel for facilitatinginformation transfer between storage and other peripheral components ofthe device 400. The communication bus 405 further can provide a set ofsignals used for communication with the processor 410, including a databus, address bus, and control bus (not shown). The communication bus 405can comprise any standard or non-standard bus architecture such as, forexample, bus architectures compliant with industry standard architecture(ISA), extended industry standard architecture (EISA), Micro ChannelArchitecture (MCA), peripheral component interconnect (PCI) local bus,or standards promulgated by the Institute of Electrical and ElectronicsEngineers (IEEE) including IEEE 488 general-purpose interface bus (GPM),IEEE 696/S-100, and the like.

The device 400 preferably includes a main memory 415 and can alsoinclude a secondary memory 420. The main memory 415 provides storage ofinstructions and data for programs executing on the processor 410, suchas one or more of the functions and/or modules discussed above. Itshould be understood that programs stored in the memory and executed bythe processor 410 can be written and/or compiled according to anysuitable language, including without limitation C/C++, Java, JavaScript,Pearl, Visual Basic, .NET, and the like. The main memory 415 istypically semiconductor-based memory such as dynamic random accessmemory (DRAM) and/or static random access memory (SRAM). Othersemiconductor-based memory types include, for example, synchronousdynamic random access memory (SDRAM), Rambus dynamic random accessmemory (RDRAM), ferroelectric random access memory (FRAM), and the like,including read only memory (ROM).

the secondary memory 420 can optionally include an internal medium 425and/or a Removable Storage Medium 430, for example a floppy disk drive,a magnetic tape drive, a compact disc (CD) drive, a digital versatiledisc (DVD) drive, other optical drive, a flash memory drive, etc.Removable Storage Medium 430 is read from and/or written to in awell-known manner. Removable Storage Medium 430 can be, for example, afloppy disk, magnetic tape, CD, DVD, SD card, etc.

Removable Storage Medium 430 can be a non-transitory computer-readablemedium having stored thereon computer executable code (i.e., software)and/or data (e.g., for implementing at least a portion of the subjectmatter described herein). The computer software or data stored on theRemovable Storage Medium 430 is read into the device 400 for executionby the processor 410.

In alternative embodiments, the secondary memory 420 can include othersimilar means for allowing computer programs or other data orinstructions to be loaded into the device 400. Such means can include,for example, an External Storage Medium 445 and an Interface 440.Examples of External Storage Medium 445 can include an external harddisk drive or an external optical drive, or and external magneto-opticaldrive.

Other examples of the secondary memory 420 can includesemiconductor-based memory such as programmable read-only memory (PROM),erasable programmable read-only memory (EPROM), electrically erasableread-only memory (EEPROM), or flash memory (block oriented memorysimilar to EEPROM). Also included are any other Removable Storage Media430 and the communication interface 440, which allow software and datato be transferred from an external medium 445 to the device 400.

The device 400 can include a communication interface 440. Thecommunication interface 440 allows software and data to be transferredbetween the device 400 and external devices (e.g. printers), networks,or information sources. For example, computer software or executablecode can be transferred to the device 400 from a network server via thecommunication interface 440. Examples of the communication interface 440include a built-in network adapter, network interface card (NIC),Personal Computer Memory Card International Association (PCMCIA) networkcard, card bus network adapter, wireless network adapter, UniversalSerial Bus (USB) network adapter, modem, a network interface card (NIC),a wireless data card, a communications port, an infrared interface, anIEEE 1394 fire-wire, or any other device capable of interfacing thedevice 400 with a network or another computing device.

the communication interface 440 preferably implements industrypromulgated protocol standards, such as Ethernet IEEE 802 standards,Fiber Channel, digital subscriber line (DSL), asynchronous digitalsubscriber line (ADSL), frame relay, asynchronous transfer mode (ATM),integrated digital services network (ISDN), personal communicationsservices (PCS), transmission control protocol/Internet protocol(TCP/IP), serial line Internet protocol/point to point protocol(SLIP/PPP), and so on, but can also implement customized or non-standardinterface protocols as well.

Software and data transferred via the communication interface 440 aregenerally in the form of one or more electrical communication signals455. The signals 455 are preferably provided to the communicationinterface 440 via a communication channel 450. In one embodiment, thecommunication channel 450 can be a wired or wireless network, or anyvariety of other communication links. The communication channel 450carries the signals 455 and can be implemented using a variety of wiredor wireless communication means including wire or cable, fiber optics,conventional phone line, cellular phone link, wireless datacommunication link, radio frequency (“RF”) link, or infrared link, justto name a few.

Computer executable code (i.e., computer programs or software) is storedin the main memory 415 and/or the secondary memory 420. Computerprograms can also be received via the communication interface 440 andstored in the main memory 415 and/or the secondary memory 420. Suchcomputer programs, when executed, enable the device 400 to perform thevarious functions, such as those described herein.

In this description, the term “computer readable medium” is used torefer to any non-transitory computer readable storage media used toprovide computer executable code (e.g., software and computer programs)to the device 400. Examples of these media include the main memory 415,the secondary memory 420 (including the internal medium 425, a removablemedium 430, and External Storage Medium 445), and any peripheral devicecommunicatively coupled with the communication interface 440 (includinga network information server or other network device). Thesenon-transitory computer readable mediums are means for providingexecutable code, programming instructions, and software to the device400.

In an embodiment that is implemented using software, the software can bestored on a computer readable medium and loaded into the device 400 byway of the removable medium 430, an input and output (I/O) interface435, or a communication interface 440. In such an embodiment, thesoftware is loaded into the device 400 in the form of electricalcommunication the signals 455. The software, when executed by theprocessor 410, preferably causes the processor 410 to perform theinventive features and functions previously described herein.

In an embodiment, the I/O interface 435 provides an interface betweenone or more components of the device 400 and one or more input and/oroutput devices. Example input devices include, without limitation,keyboards, touch screens or other touch-sensitive devices, biometricsensing devices, computer mice, trackballs, pen-based pointing devices,camera, microphone, and the like. Examples of output devices include,without limitation, cathode ray tubes (CRTs), plasma displays,light-emitting diode (LED) displays, liquid crystal displays (LCDs),printers, vacuum florescent displays (VFDs), surface-conductionelectron-emitter displays (SEDs), field emission displays (FEDs), andthe like.

The device 400 also includes optional wireless communication componentsthat facilitate wireless communication over a voice and over a datanetwork. The wireless communication components can comprise an antennasystem 460, a radio system 465, a baseband system 470, or anycombination thereof. In the device 400, radio frequency (RF) signals aretransmitted and received over the air by the antenna system 460 underthe management of the radio system 465.

In one embodiment, the antenna system 460 can comprise one or moreantennae and one or more multiplexors (not shown) that perform aswitching function to provide the antenna system 460 with transmit andreceive signal paths. In the receive path, received RF signals can becoupled from a multiplexor to a low noise amplifier (not shown) thatamplifies the received RF signal and sends the amplified signal to theradio system 465.

In alternative embodiments, the radio system 465 can comprise one ormore radios that are configured to communicate over various frequencies.In one embodiment, the radio system 465 can combine a demodulator (notshown) and modulator (not shown) in one integrated circuit (IC). Thedemodulator and modulator can also be separate components. In theincoming path, the demodulator strips away the RF carrier signal leavinga baseband receive audio signal, which is sent from the radio system 465to the baseband system 470.

If the received signal contains audio information, the baseband system470 decodes the signal and converts it to an analog signal. Then thesignal is amplified and sent to a speaker. The baseband system 470 alsoreceives analog audio signals from a microphone. These analog audiosignals are converted to digital signals and encoded by the basebandsystem 470. The baseband system 470 also codes the digital signals fortransmission and generates a baseband transmit audio signal that isrouted to the modulator portion of the radio system 465. The modulatormixes the baseband transmit audio signal with an RF carrier signalgenerating an RF transmit signal that is routed to the antenna systemand can pass through a power amplifier (not shown). The power amplifieramplifies the RF transmit signal and routes it to the antenna system 460where the signal is switched to the antenna port for transmission.

The baseband system 470 is also communicatively coupled with theprocessor 410. The processor 410 has access to the main memory 415 andthe secondary memory 420. The processor 410 is preferably configured toexecute instructions (i.e., computer programs or software) that can bestored in the main memory 415 or the secondary memory 420. Computerprograms can also be received from Baseband Processor 460 and stored inthe main memory 415 or in the secondary memory 420, or executed uponreceipt. Such computer programs, when executed, enable the device 400 toperform the various functions, such as those described herein. Forexample, the main memory 415 and the secondary memory 420 can eachinclude various software modules (not shown).

Various embodiments can also be implemented primarily in hardware using,for example, components such as application specific integrated circuits(ASICs), or field programmable gate arrays (FPGAs). Implementation of ahardware state machine capable of performing the functions describedherein will also be apparent to those skilled in the relevant art.Various embodiments can also be implemented using a combination of bothhardware and software.

Furthermore, those of skill in the art will appreciate that the variousillustrative logical blocks, modules, circuits, and method stepsdescribed in connection with the above described figures and theembodiments disclosed herein can often be implemented as electronichardware, computer software, or combinations of both. To clearlyillustrate this interchangeability of hardware and software, variousillustrative components, blocks, modules, circuits, and steps have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled persons can implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the invention. In addition, the grouping of functions within amodule, block, circuit or step is for ease of description. Specificfunctions or steps can be moved from one module, block or circuit toanother without departing from the invention.

Moreover, the various illustrative logical blocks, modules, functions,and methods described in connection with the embodiments disclosedherein can be implemented or performed with a general purpose processor,a digital signal processor (DSP), an ASIC, FPGA or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general-purpose processor can be a microprocessor,but in the alternative, the processor can be any processor, controller,microcontroller, or state machine. A processor can also be implementedas a combination of computing devices, for example, a combination of aDSP and a microprocessor, a plurality of microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration.

Additionally, the steps of a method or algorithm described in connectionwith the embodiments disclosed herein can be embodied directly inhardware, in a software module executed by a processor, or in acombination of the two. A software module can reside in RAM memory,flash memory, ROM memory, EPROM memory, EEPROM memory, registers, harddisk, a removable disk, a CD-ROM, or any other form of storage mediumincluding a network storage medium. An exemplary storage medium can becoupled to the processor such the processor can read information from,and write information to, the storage medium. In the alternative, thestorage medium can be integral to the processor. The processor and thestorage medium can also reside in an ASIC.

What is claimed:
 1. A system for facilitating social discovery,comprising: a social discovery platform; and a first device associatedwith a first user, the first device comprising: a hardware processor;and at least one executable software module that, when executed by thehardware processor, is configured to: obtain, from at least a seconddevice, device information associated with the second device; transmitthe device information associated with the second device to the socialdiscovery platform; receive, from the social discovery platform, userinformation associated with a second user of the second device inresponse to transmitting the device information associated with thesecond device; and providing, to the first user, the user informationassociated with the second user.
 2. The system of claim 1, wherein theexecutable software module is further configured to discover the seconddevice and receive device information from the second device.
 3. Thesystem of claim 1, wherein the executable software module is furtherconfigured to: receive, from the first user, a request to establishcommunications with at least the second user of the second device; andestablish a connection with the second device in response to therequest.
 4. The system of claim 3, wherein the executable softwaremodule is further configured to: receive, from the first user, a messageto transmit to the second user; and transmit the message to the seconddevice.
 5. The system of claim 1, further to transmit authorization fora fee associated with messaging the second use.
 6. The system of claim5, wherein the fee comprises at least one of an amount stipulated by thesecond user and an amount set by the social discovery platform.
 7. Thesystem of claim 1, wherein the user information associated with thesecond user includes at least one of the following: a photograph of thesecond user, an age of the second user, a gender of the second user, oneor more occupations of the second user, a location of the second user,one or more group affiliations of the second user, one or more interestsof the second user, and one or more characteristics of the second user.8. The system of claim 1, wherein the device information associated withthe second device comprises a MAC address of the second device.
 9. Thesystem of claim 1, wherein the executable software module is furtherconfigured to determine whether to present, to the first user, the userinformation associated with the second user based at least in part onthe user information associated with the second user and one or morefilter criteria specified by the first user.
 10. A method forfacilitating social discovery, comprising: obtaining, by a first deviceassociated with a first user, device information associated with aplurality of devices at a location of the first device; transmitting thedevice information associated with a second device of the plurality ofdevices to a social discovery platform; receiving, from the socialdiscovery platform, user information associated with a second user ofthe second device in response to the device information associated withthe second device, wherein the user information comprises a photographof the second user; and providing, to the first user, the userinformation associated with the second user.
 11. The method of claim 10,further comprising discovering the plurality of devices and receivingdevice information from the second device.
 12. The method of claim 10,further comprising: receiving, from the first user, a request toestablish communications with at least the second user of the seconddevice; and establishing a connection with the second device in responseto the request.
 13. The method of claim 12, further comprising:receiving, from the first user, a message to transmit to the seconduser; and transmitting the message to the second device.
 14. The methodof claim 11, further comprising sending authorization for a feeassociated with messaging the second user.
 15. The method of claim 14,wherein the fee comprises one of an amount stipulated by the second userand an amount set by the social discovery platform.
 16. The method ofclaim 10, wherein the user information associated with the second userincludes at least one of the following: an age of the second user, agender of the second user, one or more occupations of the second user, alocation of the second user, one or more group affiliations of thesecond user, one or more interests of the second user, and one or morecharacteristics of the second user.
 17. The method of claim 10, whereinthe device information associated with the second device comprises a MACaddress of the second device.
 18. The method of claim 10, furthercomprising determining whether to present, to the first user, the userinformation associated with the second user based at least in part onthe user information associated with the second user and one or morefilter criteria specified by the first user.
 19. A system comprising: aprimary device associated with a primary user, the first devicecomprising a non-transitory memory and processor configured to: provide,by the primary device, device information to other devices at a locationof the primary device; receive, by the primary device, a plurality ofmessages from one or more of the other devices at the location of theprimary device, wherein the messages are in response to the one or moreother devices accessing user information associated with the primaryuser of the primary device based on the device information, wherein eachmessage comprises sender information; for each of the plurality ofmessages: determine, by the primary device, whether the senderinformation associated with the message satisfies predeterminedpreferences; and in response to determining that the sender informationsatisfies the predetermined preferences, display the message to theprimary user at the primary device.
 20. The system of claim 19, whereinthe sender information comprises a fee amount that is set dynamicallybased on one or more of the following: a total number of devicesattempting to transmit messages to the primary user, a proximity to theprimary device at the location, and a total number of messagestransmitted by the sender.